<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>图形复用-defs和use</title>
    <style>
      body,
      ul {
        margin: 0;
        padding: 0;
      }

      body {
        background-image: url(../../images/grid.png);
      }
      svg {
        background-color: rgba(255, 0, 0, 0.1);
      }
    </style>
  </head>
  <body>
    <svg
      width="400"
      height="400"
      viewBox="0 0 400 400"
      xmlns="http://www.w3.org/2000/svg"
    >
      <!-- defs: 定义元素，用于定义图形的模板，用于复用 -->
      <defs>
        <!-- 0. 样式 -->
        <style>
          rect {
            fill: green;
          }
        </style>
        <!-- 1. 定义一个矩形 -->
        <rect id="rect1" width="100" height="100" />
        <!-- 2. 定义一个圆形 -->
        <circle id="circle1" cx="50" cy="50" r="50" />
        <!-- 3. 定义一个组合图形 -->
        <g fill="transparent" stroke="red" id="group1">
          <circle cx="50" cy="50" r="25" />
          <circle cx="80" cy="50" r="25" />
          <circle cx="110" cy="50" r="25" />
          <circle cx="140" cy="50" r="25" />
        </g>
      </defs>

      <!-- 4. 使用模板 -->
      <use x="100" y="100" href="#rect1" />
      <use x="100" y="200" href="#circle1" />
      <use x="100" y="10" href="#group1" />
    </svg>
  </body>
</html>
